/**
 * 
 */
package com.td.framework.webmanager.qxgl.service;

import java.util.List;

import com.td.framework.webmanager.domain.AppsysQxfwjlgx;
import com.td.framework.webmanager.domain.AppsysQxgx;
import com.td.framework.webmanager.domain.AppsysQxxx;
import com.td.framework.webmanager.domain.AppsysQxygns;
import com.td.framework.webmanager.domain.AppsysYmgnBean;
import com.td.framework.webmanager.domain.AppsysYmxzfwjlBean;
import com.td.framework.webmanager.domain.YmxztjBean;

/**
 * 
 * Title:权限信息业务层接口 Description: 定义业务层权限信息处理方法 
 * Copyright: Copyright (c) 2008 Company
 * 北京水软科技有限公司
 * 
* @author FLT006
 * @version 1.0
 */
public interface QxglService {
	/**
	 * @toDo:查询权限信息List;
	 * @return list;
	 */
	public List<AppsysQxxx> fingby();

	/**
	 * @toDo:查询权限信息;
	 * @return AppsysQxxx;
	 */
	public AppsysQxxx getAppsysQxxx();
	
	/**
	 * @toDo:保存权限信息;
	 * @param yhzbhs
	 * @param ymbhs
	 * @return boolean;
	 */
	public boolean addAppsysQxxx(String yhbhs, String[] ymbhs);
	/**
	 * @toDo: 更新权限信息;
	 * @param qxxx
	 * @return boolean;
	 */
	public boolean updateAppsysQxxx(AppsysQxxx qxxx);

	/**
	 * @toDo:删除权限信息;
	 * @return boolean;
	 */
	public boolean deleteAppsysQxxx();
	/**
	 * @toDo:生成系统权限树所需的xml格式字符流
	 * @param xmlName
	 * @return
	 */
	public String getSystemTreeXml(String xmlName);
	/**
	 * @toDo::生成当前用户组权限树所需的xml格式字符流
	 * @param xmlName,
	 * @param  yhzbh 用户或者用户组编号
	 * @param flag 0表示用户组、1表示用户 
	 * @param type 0 已授权,1 未授权
	 * @return
	 */
	public String getCurrentTreeXml(String xmlName, String yhzbh,Long flag,int type);
	/**
	 * @toDo::生成空的权限树所需的xml格式字符流
	 * @param xmlName
	 * @return
	 */
	public String getCurrentTreeXml(String xmlName);
	/**
	 * @toDo:查询当前用户组功能树List;
	 * @param yhzbh,flag
	 * @return list;
	 */
	public List<AppsysQxygns> getRightTreeList(String yhzbh, Long flag,int type) ;
	/**
	 * @toDo:通过页面编号生成功能树
	 * @param ymbhs
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public List getRightTreeList(String[] ymbhs);
	/**
	 * @toDo:查询系统功能树List;
	 * @return list;
	 */
	public List<AppsysQxygns> getSystemTreeList();
	/**
	 * @toDo:得到与权限结合的功能List;
	 * @param qxbh
	 * @param ymbh
	 * @param type 1 为页面功能, 2 为页面限制字段 
	 * @return list;
	 */
	@SuppressWarnings("unchecked")
	public List<AppsysYmgnBean> findAppsysYmgnBean(Long qxbh, String ymbh,int type);
	/**
	 * toDo:通过权限编号、页面编号查询限制访问记录条件
	 * 
	 * @param qxbh
	 * @param ymbh
	 * @return list;
	 */
	public List<AppsysYmxzfwjlBean> findAppsysYmxzfwjlBean(Long qxbh,String ymbh);
	/**
	 * @toDo:查询所有的页面功能信息;
	 * @return list;
	 */
	//public List<AppsysYmgn> findAll() ;
	/**
	 * @toDo:保存用户组页面级功能权限;
	 * @param qxbh
	 * @param ymbh
	 * @param gnbhs
	 * @param qxfwjlgxs
	 * @return boolean;
	 */
	public boolean addYmgnRight(String qxbh, String ymbh, String[] gnbhs,List<AppsysQxfwjlgx> qxfwjlgxs);
	
	/**
	 * @toDo:通过用户组编号得到对应的权限编号;
	 * @param yhzbh
	 * @param flag
	 * @return qxbh;
	 */
	public Long getQxbh(String yhzbh,Long flag);
	/**
	 * @toDo:通过用户/用户组编号查询权限编号;
	 * @param yhbhs
	 * @return qxbhs;
	 */
	@SuppressWarnings("unchecked")
	public String getQxbh(String yhbhs);
	/**
	 * toDo:通过权限编号、限制条件编号查询条件列表
	 * @param qxbh
	 * @param xzbh
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public List<YmxztjBean> findYmxztjBean(Long qxbh, String xzbh);
	/**
	 * @toDo: 根据页面编号、功能编号、功能类型读取权限关系;
	 * @param ymbh
	 * @param gnbh
	 * @param qxbz
	 * @return appsysQxgx
	 */
	@SuppressWarnings("unchecked")
	public AppsysQxgx getAppsysQxgx(String ymbh,String gnbh,int qxbz);
}
